layui.use(['table', 'jquery','element','layer','form','upload','laydate'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var element = layui.element;
    var layer = layui.layer;
    var form = layui.form;
    var upload = layui.upload;
    var laydate = layui.laydate;

    laydate.render({
        elem: '#startDate' //指定元素
    });

    laydate.render({
        elem: '#endDate' //指定元素
    });

    var  statusMap = {
        '1' :"未接收",
        '2' :"备案中",
        '3' :"已完成"
    }
    //第一个实例
    table.render({
        elem: '#table',
        height: 600,
        toolbar :'#toolbar',
        defaultToolbar : []
        , url: ctx + '/eng/repair/listPage' //数据接口
        , page: true
        , cols: [[
             {field: 'name', title: '客户姓名', align: 'center',width:'12%',fixed:'left'}
            , {field: 'phone', title: '电话', align: 'center',width:'13%',fixed:'left'}
            , {field: 'address', title: '地址', align: 'center',width:'15%'}
            , {field: 'createTime', title: '创建时间', align: 'center',width:'15%'}
            , {field: 'handleTime', title: '接收时间', align: 'center',width:'15%'}
            , {field: 'handleRemark', title: '接收备注', align: 'center',width:'15%'}
            , {field: 'finishRemark', title: '完成备注', align: 'center',width:'15%'}
            , {field: 'status', title: '状态', align: 'center',width:'8%',templet:function(d){
                    return statusMap[d.status];
                }}
            , {field: 'ops', title: '操作', width: '30%', align: 'center',toolbar: '#tool',fixed:'right'}
        ]]
    });


    // tool
    table.on('tool(table)', function(obj){
        var data = obj.data;
        var layEvent = obj.event;

        if(layEvent === 'accept'){
            // 接收报备
            accept(data);
        }else if(layEvent === 'complete'){
            finish(data);
        }else if(layEvent == 'look'){
            look(data);
        }
    });

    // 查看报备明细
    function look(data){
        window.open(ctx+"lookDetail?id="+data.id);
    }

    var finishData = null;
    // 完成报备
    function finish(data){
        finishData = data;
        // 检查是否能报备
        $.ajax({
            url : ctx+"/eng/repair/checkTicketCanComplete",
            type : 'post',
            data : {
                ticketId : finishData.ticketId
            },
            async :false,
            success : function(res){
                if(res.success){
                    layer.prompt({
                        formType: 2,
                        value: '请输入完成备注信息',
                        title: '请输入报备的备注(方便以后查询)',
                        area: ['600px', '250px'] //自定义文本域宽高
                    }, function(value, index, elem){
                        $.ajax({
                            url : ctx+"/eng/repair/finish",
                            type : 'post',
                            data : {
                                id: finishData.id,
                                finishRemark : value,
                                ticketId : finishData.ticketId
                            },
                            async :false,
                            success : function(res){
                                if(res.success){
                                    layer.closeAll()
                                    layer.msg(res.msg,{icon:1});
                                    table.reload('table');
                                }else{
                                    layer.msg(res.msg,{icon:2});
                                }
                            }

                        });
                    });
                }else{
                    layer.msg(res.msg,{icon:2});
                }
            }
        });

    }

    var acceptData = null;
    // 接收报备
    function accept(data){
        acceptData = data;
        layer.prompt({
            formType: 2,
            value: '请输入备注信息',
            title: '请输入报备的备注(方便以后查询)',
            area: ['600px', '250px'] //自定义文本域宽高
        }, function(value, index, elem){
            $.ajax({
                url : ctx+"/eng/repair/accept",
                type : 'post',
                data : {
                    id: acceptData.id,
                    handleRemark : value
                },
                async :false,
                success : function(res){
                    if(res.success){
                        layer.closeAll()
                        layer.msg(res.msg,{icon:1});
                        table.reload('table');
                    }else{
                        layer.msg(res.msg,{icon:2});
                    }
                }

            });
        });
    }

    // 重置按钮
    $('#reset').click(function(){
        $('#queryReset').click();
    })

    // 条件查询
    $('#submit').click(function(){
        // 重新渲染数据
        table.reload('table', {
            url: ctx + '/eng/repair/listPage'
            ,where: $('#queryForm').formToObject()
        });
        return false;
    });

});